{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# SVM on Pima Indians Diabetes Data Set\n",
    "\n",
    "数据说明：\n",
    "Pima Indians Diabetes Data Set（皮马印第安人糖尿病数据集） 根据现有的医疗信息预测5年内皮马印第安人糖尿病发作的概率。   \n",
    "\n",
    "数据集共9个字段: \n",
    "0列为怀孕次数；\n",
    "1列为口服葡萄糖耐量试验中2小时后的血浆葡萄糖浓度；\n",
    "2列为舒张压（单位:mm Hg）\n",
    "3列为三头肌皮褶厚度（单位：mm）\n",
    "4列为餐后血清胰岛素（单位:mm）\n",
    "5列为体重指数（体重（公斤）/ 身高（米）^2）\n",
    "6列为糖尿病家系作用\n",
    "7列为年龄\n",
    "8列为分类变量（0或1）\n",
    "\n",
    "数据链接：https://archive.ics.uci.edu/ml/datasets/Pima+Indians+Diabetes"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 首先 import 必要的模块\n",
    "import pandas as pd \n",
    "import numpy as np\n",
    "\n",
    "from sklearn.model_selection import GridSearchCV\n",
    "\n",
    "#竞赛的评价指标为logloss\n",
    "from sklearn.metrics import log_loss  \n",
    "\n",
    "#SVM并不能直接输出各类的概率，所以在这个例子中我们用正确率作为模型预测性能的度量\n",
    "from sklearn.metrics import accuracy_score\n",
    "\n",
    "from matplotlib import pyplot\n",
    "import seaborn as sns\n",
    "%matplotlib inline"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 读取数据 "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {
    "scrolled": true
   },
   "outputs": [],
   "source": [
    "#input data\n",
    "train = pd.read_csv(\"FE_pima-indians-diabetes.csv\")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 数据预处理"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [],
   "source": [
    "#  get labels\n",
    "y_train = train['Target']   \n",
    "X_train = train.drop([\"Target\"], axis=1)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 模型训练\n",
    "由于速度较慢，这里只调整了超参数C，没调L1/L2正则函数"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "0.7721354166666666\n",
      "{'C': 0.005}\n"
     ]
    }
   ],
   "source": [
    "#线性SVM\n",
    "from sklearn.svm import SVC\n",
    "from sklearn.model_selection import GridSearchCV\n",
    "\n",
    "\n",
    "Cs = [0.001, 0.002,0.003,0.004,0.005,0.006,0.01, 0.02,0.1, 1, 10, 100, 1000]\n",
    "param_grid = {'C': Cs}\n",
    "grid = GridSearchCV(SVC(kernel='linear'), param_grid, cv=5, n_jobs = 4)\n",
    "\n",
    "grid.fit(X_train, y_train)\n",
    "print(grid.best_score_)\n",
    "print(grid.best_params_)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "经多次尝试，其实0.005最优\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### RBF核SVM正则参数调优\n",
    "\n",
    "RBF核是SVM最常用的核函数。\n",
    "RBF核SVM 的需要调整正则超参数包括C（正则系数，一般在log域（取log后的值）均匀设置候选参数）和核函数的宽度gamma\n",
    "C越小，决策边界越平滑； \n",
    "gamma越小，决策边界越平滑。\n",
    "\n",
    "经过多次尝试，确定调优范围。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 31,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "GridSearchCV(cv=5, error_score='raise-deprecating',\n",
       "             estimator=SVC(C=1.0, cache_size=200, class_weight=None, coef0=0.0,\n",
       "                           decision_function_shape='ovr', degree=3,\n",
       "                           gamma='auto_deprecated', kernel='rbf', max_iter=-1,\n",
       "                           probability=False, random_state=None, shrinking=True,\n",
       "                           tol=0.001, verbose=False),\n",
       "             iid='warn', n_jobs=4,\n",
       "             param_grid={'C': [0.001, 0.01, 0.1, 1, 3, 5, 8, 10, 20, 50, 100,\n",
       "                               150, 500, 1000],\n",
       "                         'gamma': [0.0001, 0.001, 0.003, 0.004, 0.005, 0.006,\n",
       "                                   0.008, 0.01, 0.1, 1]},\n",
       "             pre_dispatch='2*n_jobs', refit=True, return_train_score=False,\n",
       "             scoring=None, verbose=0)"
      ]
     },
     "execution_count": 31,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "from sklearn.svm import SVC\n",
    "from sklearn.model_selection import GridSearchCV\n",
    "\n",
    "Cs = [0.001,0.01,0.1,1,3,5,8,10,20,50,100,150,500,1000]\n",
    "gammas = [0.0001,0.001,0.003,0.004,0.005,0.006,0.008,0.01, 0.1, 1]\n",
    "#gammas =[1e-5, 1e-6]\n",
    "param_grid = {'C': Cs, 'gamma' : gammas}\n",
    "grid = GridSearchCV(SVC(kernel='rbf'), param_grid, cv=5, n_jobs = 4)\n",
    "\n",
    "grid.fit(X_train, y_train)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 32,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "0.7721354166666666\n",
      "{'C': 3, 'gamma': 0.004}\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "print(grid.best_score_)\n",
    "print(grid.best_params_)\n",
    "\n",
    "# plot CV误差曲线\n",
    "test_means = grid.cv_results_[ 'mean_test_score' ]\n",
    "test_stds = grid.cv_results_[ 'std_test_score' ]\n",
    "\n",
    "# plot results\n",
    "n_Cs = len(Cs)\n",
    "number_gamms = len(gammas)\n",
    "\n",
    "test_scores =  np.array(test_means).reshape(n_Cs,number_gamms)\n",
    "#train_scores = np.array(train_means).reshape(n_Cs,number_penaltys)\n",
    "test_stds = np.array(test_stds).reshape(n_Cs,number_gamms)\n",
    "#train_stds = np.array(train_stds).reshape(n_Cs,number_penaltys)\n",
    "\n",
    "x_axis = np.log10(Cs)\n",
    "for i, value in enumerate(gammas):\n",
    "    pyplot.plot(x_axis, test_scores[:,i], label= gammas[i])\n",
    "    #pyplot.errorbar(x_axis, test_scores[:,i], yerr=test_stds[:,i] ,label = gammas[i] )\n",
    "    #pyplot.errorbar(x_axis, train_scores[:,i], yerr=train_stds[:,i] ,label = penaltys[i] +' Train')\n",
    "    \n",
    "pyplot.legend()\n",
    "pyplot.xlabel( 'log(C)' )                                                                                                      \n",
    "pyplot.ylabel( 'accuary' )\n",
    "pyplot.savefig('SVMGridSearchCV_C.png' )\n",
    "\n",
    "pyplot.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "collapsed": true
   },
   "source": [
    "得到的结果比原先的好"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.3"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
